home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Compute! Gazette 1988 July
/
1988-07.d64
/
v-8 loader
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-09-20
|
4KB
|
140 lines
10 s=49664:v=49152:pg=0:rem pg=0 if screen or 16k bank will change
15 poke646,14:poke53280,14:poke53281,6
20 print"[147] v-8 loader - copyright 1988 compute! "
30 print""spc(10)"creating program...."
40 forx=stos+208:readd:pokex,d:ck=ck+d:next
50 ifck<>26449thenprint" error in data! lines 690-1040":end
60 forx=s+209tos+264:readd:pokex,d:next
70 ck=0:forx=s+265tos+277:readd:pokex,d:ck=ck+d:next
80 ifck<>1848thenprint" error in data! lines 1150-1170":end
90 s2=s+278:t=s2:forx=0to46:readd:ifd<>1then120
100 n=v+x*8:gosub680
110 poket,185:poket+1,l:poket+2,h:poket+3,141:poket+4,x:poket+5,208:t=t+6
120 next
130 s3=t:readd:ifd<>1then160
140 n=v+376:gosub680
150 poket,185:poket+1,l:poket+2,h:poket+3,141:poket+4,0:poket+5,221:t=t+6
160 s4=t:forx=0to7:readd:ifd<>1then200
170 n=v+(48+x)*8:gosub680
180 poket,185:poket+1,l:poket+2,h:poket+3,141:poket+4,x+248:poket+5,pg:t=t+6
190 sp(x)=1:sn=sn+1
200 next
210 ck=0:s5=t:forx=s5tos5+8:readd:pokex,d:ck=ck+d:next
220 ifck<>1401thenprint" error in data! lines 1280-1300":end
230 t=0:s6=s5+9:if(pg>0andpg<256)orsn=0thenforx=0to23:readd:next:s7=s6:goto310
240 ck=0:forx=s6tos6+23:readd:pokex,d:ck=ck+d:next
250 ifck<>2288thenprint" error in data! lines 1310-1350":end
260 forx=0to7:ifsp(x)<>1then300
270 n=s4+5+t*2:gosub680
280 pokes6+t+24,141:pokes6+t+25,l:pokes6+t+26,h
290 pokes+t+32,141:pokes+t+33,l:pokes+t+34,h:t=t+3
300 next:s7=s6+24+sn*3
310 ift<24thenforx=s+t+32tos+55:pokex,234:next
320 ck=0:forx=s7tos7+9:readd:pokex,d:ck=ck+d:next
330 ifck<>1505thenprint" error in data! lines 1360-1380":end
340 e=s7+9:le=e-s+1:o=s+82:i=s+161:nm=s+1:df=s+209
350 n=v+192:gosub680:pokes+9,l:pokes+10,h
360 ifs7<>s6thenpokes6+1,l:pokes6+2,h
370 n=v+376:gosub680:pokes+20,l:pokes+21,h
380 ifs7<>s6thenpokes6+12,l:pokes6+13,h
390 n=s+209:gosub680:pokes+105,l:pokes+106,h
400 pokes+116,l:pokes+117,h
410 pokes+150,l:pokes+151,h
420 pokes+176,l:pokes+177,h
430 n=s+179:gosub680:pokes+164,l:pokes+165,h
440 pokes+187,l:pokes+188,h
450 pokes+193,l:pokes+194,h
460 n=s+180:gosub680:pokes+169,l:pokes+170,h
470 pokes+196,l:pokes+197,h
480 pokes+201,l:pokes+202,h
490 n=s+265:gosub680:pokes+67,l:pokes+72,h
500 n=s+154:gosub680:pokes+147,l:pokes+148,h
510 n=v:gosub680:pokes+162,l:pokes+167,h
520 n=v+144:gosub680:pokes+273,l:pokes+274,h
530 print" start="s"end="e"length="le
540 input" save it to disk";i$
550 if i$<>"y"then610
560 input" filename";f$:iff$=""then610
570 f$="0:"+f$:open1,8,1,f$
580 n=s:gosub680:poke253,l:poke254,h
590 n=e+1:gosub680:poke781,l:poke782,h
600 poke780,253:sys65496:close1
610 print" poke"nm"[146]# of splits in screen"
620 print" sys"i"[146]to init. shadow registers"
630 print" sys"s"[146]to activate"
640 print" sys"o"[146]to de-activate"
650 print" "v"[157]";-v-447"[146]= shadow registers"
660 print" "df"[157]";-df-55"[146]= defaults table"
670 end
680 h=int(n/256):l=n-h*256:return
690 rem --- section 1 data ---
700 data169,8,133,251,169,0
710 data133,252,173,192,192,41
720 data240,74,74,9,3,133
730 data253,173,120,193,73,3
740 data10,10,10,10,10,10
750 data5,253,141,17,196,141
760 data23,196,141,29,196,141
770 data35,196,141,41,196,141
780 data47,196,141,53,196,141
790 data59,196,169,27,141,17
800 data208,169,127,141,13,220
810 data169,9,141,20,3,169
820 data195,141,21,3,169,241
830 data141,26,208,96,169,240
840 data141,26,208,169,49,141
850 data20,3,169,234,141,21
860 data3,169,129,141,13,220
870 data160,0,185,209,194,153
880 data0,208,200,192,47,208
890 data245,185,209,194,141,0
900 data221,200,173,24,208,41
910 data240,74,74,9,3,133
920 data253,173,0,221,73,3
930 data10,10,10,10,10,10
940 data5,253,141,154,194,185
950 data209,194,153,200,7,200
960 data192,56,208,245,96,169
970 data0,141,179,194,169,192
980 data141,180,194,160,0,162
990 data0,185,209,194,157,0
1000 data192,232,224,8,208,248
1010 data173,179,194,24,105,8
1020 data141,179,194,173,180,194
1030 data105,0,141,180,194,200
1040 data192,56,208,221,96
1050 rem ***** defaults *****
1060 data0,0,0,0,0,0,0,0
1070 data0,0,0,0,0,0,0,0,0
1080 data27,0,0,0,0
1090 data200,0,21,120,240
1100 data0,0,0,0,0
1110 data14,6,0,1,2,3,4
1120 data5,6,7,8,9,10,11,12
1130 data199
1140 data0,0,0,0,0,0,0,0
1150 rem --- section 1 cont'd ---
1160 data169,1,141,25,208,164
1170 data252,185,144,192,141,18,208
1180 rem ***** vm registers *****
1190 data1,1,1,1,1,1,1,1:rem sprite 0-3 x,y coordinates
1200 data1,1,1,1,1,1,1,1,1:rem sprite 4-7 x,y coordinates;sprite 0-7 x msb
1210 data1,-1,-1,-1,1:rem ctrl(53265);raster;lpx;lpy;sprite enable
1220 data1,1,1,-1,-1:rem ctrl(53270);spr y expand;mem ctrl;irq flag;irq enable
1230 data1,1,1,-1,-1:rem spr priority;spr mcm;spr x expand;spr-spr;spr-bkg
1240 data1,1,1,1,1,1,1:rem border;bkg 0-3;sprite mc 0-1
1250 data1,1,1,1,1,1,1,1:rem sprite 0-7 color
1260 data1:rem 16k vic bank (56576)
1270 data1,1,1,1,1,1,1,1:rem sprite 0-7 pointers
1280 rem --- section 5 data ---
1290 data200,196,251,208,2,160
1300 data0,132,252
1310 rem --- section 6 data ---
1320 data185,192,192,41,240,74
1330 data74,9,3,133,253,185
1340 data120,193,73,3,10,10
1350 data10,10,10,10,5,253
1360 rem --- section 7 data ---
1370 data165,252,208,3,76,49
1380 data234,76,188,254